{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 模拟 IIR 低通滤波器的比较\n",
    "设计截止频率为 2 GHz 的五阶模拟 Butterworth 低通滤波器。乘以 2π 以将频率转换为弧度/秒。计算滤波器在 4096 个点上的频率响应。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy.signal as sig\n",
    "import numpy as np\n",
    "from numpy import pi\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "n = 5\n",
    "f = 2e9\n",
    "bb,ab = sig.butter(5,2*pi*f,analog=True)\n",
    "wb,hb = sig.freqs(bb,ab,4096)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设计一个具有相同边缘频率和 3 dB 通带波纹的五阶 Chebyshev I 类滤波器。计算它的频率响应。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "b1,a1 = sig.cheby1(n,3,2*pi*f,analog=True)\n",
    "w1,h1 = sig.freqs(b1,a1,4096)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设计一个具有相同边缘频率和 30 dB 阻带衰减的 5 阶 Chebyshev II 类滤波器。计算它的频率响应。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "b2,a2 = sig.cheby2(n,30,2*pi*f,analog=True)\n",
    "w2,h2 = sig.freqs(b2,a2,4096)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设计一个具有相同边缘频率和 3 dB 通带波纹、30 dB 阻带衰减的五阶椭圆滤波器。计算它的频率响应。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "be,ae = sig.ellip(n,3,30,2*pi*f,analog = True)\n",
    "we,he = sig.freqs(be,ae,4096)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对衰减绘图，以分贝为单位。以千兆赫为单位表示频率。比较滤波器。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x237c87fdae0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEKCAYAAADq59mMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABk7ElEQVR4nO3dd1zVZfvA8c99Bhw2MlREEFduxJ2rNM2VM7Uss2GmZrbH03p+Pe1h08qmDUtLs5wtd+7cW9youNggm8O5f398D4gKcoCz0Pv9ep1HOOc7Ls4TXOde1y2klCiKoihKRehcHYCiKIpS/ajkoSiKolSYSh6KoihKhankoSiKolSYSh6KoihKhankoSiKolSYwdUBlEUIEQecBwoBs5SyvWsjUhRFUYq4bfKw6imlTHJ1EIqiKMrFVLeVoiiKUmHCXVeYCyGOAamABL6QUn55yevjgfEAPj4+7Zo2ber8IBVFUaqxrVu3JkkpQytzrjsnj3Ap5SkhRE1gKfCwlHJ1ace2b99ebtmyxbkBKoqiVHNCiK2VHU92224rKeUp678JwDygo2sjUhRFUYq4ZfIQQvgIIfyKvgb6AHtcG5WiKIpSxF1nW9UC5gkhQItxlpTyL9eGpCiKohRxy+QhpTwKtHZ1HIqiVB8FBQXEx8eTm5vr6lDcjslkom7duhiNRrtd0y2Th6IoSkXFx8fj5+dHVFQU1l4LBZBSkpycTHx8PPXr17fbdd1yzENRFKWicnNzCQ4OVonjEkIIgoOD7d4iU8lDUZSrhkocpXPE+6KSh6IoilJhKnkoiqLYSVxcHC1btrT5+FWrVrF+/fri7+fPn8++ffscEZrdqeShKIriIvZIHmaz2d5h2UQlD0VRFDsym82MHj2aZs2aMWLECLKzs4mKiiIpSSsQvmXLFnr06EFcXByff/45H3zwATExMfzzzz8sXLiQp59+mpiYGI4cOcKRI0fo168f7dq1o3v37sTGxgJw7733MnHiRDp16sQzzzzjkp9TTdVVFOWq8/Kivew7nWHXazav489Lg1qUe9yBAweYPn06Xbt2ZezYsUybNq3U46Kiopg4cSK+vr489dRTAAwePJiBAwcyYsQIAHr16sXnn39O48aN+ffff5k0aRIrVqwAtKnJ69evR6/X2+knrBiVPBRFUewoIiKCrl27AnDXXXcxderUSl0nMzOT9evXM3LkyOLn8vLyir8eOXKkyxIHqOShKMpVyJYWgqNcOi1WCIHBYMBisQDYvN7CYrEQGBjIjh07Sn3dx8enSnFWlRrzUBRFsaMTJ06wYcMGAGbNmkW3bt2Iiopi69atAPz666/Fx/r5+XH+/PlSv/f396d+/fr88ssvgLZSfOfOnc76McqlkoeiKIodNWnShE8//ZRmzZqRmprKgw8+yEsvvcSjjz5K+/btL+pqGjRoEPPmzSMmJoY1a9YwatQopkyZQps2bThy5AgzZ85k+vTptG7dmhYtWrBgwQIX/mQXc9vNoCpCbQalKMr+/ftp1qyZq8NwW6W9P1flZlCKoiiK+1LJQ1EURakwt00eQoh+QogDQojDQohnXR2PoiiKcoFbJg8hhB74FOgPNAfuEEI0d21UiqIoShF3XefREThs3VEQIcTPwBCg9KIvUpL91yx0QWHoQuqi8wtE5+2N8PYutRTx+bwcFsduKv6+6JgLR4ri73Qlzi/6UiBKXFdYjxYXHaOdq7twTPG5Je+hHX/hXN1Fr1782oUzdUVXEaL4eqL468uvW/KuOl3RURcfrxMCo84Do94DD50Ro86jOP6SP5PgkvdDSnQ5yehzkhAFOaDXo/MJRudXG4OHCaNeYNDpMOqFQ8tlSykxJyZSmJyMLChA5+eHMSwMncnksHuSkwqpcVAjCrxqXIilsJCCM2fxqBvuuHsriou5a/IIB06W+D4e6FTWwTI/j+OPvXrZ88KowxAUiKF2OIbadTDWqYNHVBSnAryZduRZ0ny4+C+jchEp9WDRI6URpB4sHkiLF/6FFmpZcoiUGdSzZBBZmEuY2UyYuZAwsxkfKcmXeg7Lumy3NGK5pQ3rLS0o0Jkw6AQeeh0GvcCg12HUCUxGPV4eenw8DNq/nnq8PQx4e2j/+nrqCfT2IMjHgxrF/xrxSUsib9UKMtetI2frNiyZmRf/AHo9ppYt8OvZk4Bbb8VYs6Z93pjMRFj2P9j5E8hC0Bmg43jo/TIYPDjz0kukz/2VWv/3X4LuvNM+91QUN+OuyaNcQojxwHiAehF1iZjyFJbUBGR6EpbUs1iSTmFOTsKcnYn5zBnyTviQmSmRBYXogS8Bs5eJzMg6ZEbV5XxUOJn16pIdForUaZ+4LdJSfD9Z8itZ9JW0fmn93xLTni1SXnauRIK8cNZFr110fNENZCnXKvG1LPlsiVckJSIrefylzxXFDRILhdJMgSUfsyygUBZgthRgtn6vy09Gn3kUc95xsnQFZOh0bNMbWS28sQhvSgoU3tSTXjTOy6Pd+a28k7USP+HFvpB+bAkdxmnPBpgLJWaLhYJCSW5BITn5hWTlm0nNzudUWiHZeWayCwrJziskv/DC/w8Gi5mup3fT5/hmYhIPoUOSEFCLM407UhAZhSmsNkH+3tQSBdRIPk3B5k0kfvgRiZ98SuDw4YROfghDaCiVdnoH/HwnZCZAxwcgqhscWgobp0HmOfLa/pf0X38DIO2nn1XyuMbde++9F9WqKk9cXBwDBw5kz549Nt/jhRdeYMaMGaSmppJ56QcoB3LX5HEKiCjxfV3rc8WklF+i5QDat28vfW9/9PKrmPMhfjMcXQWHlyJPbcecrSfPszn5PjHk59bA78Bhcv/ZhPxbKxkgvLzwat0a77Zt8WrXFu+YGHQuLgPgUvFbYPW7cPBP7RN2o97QaiQ06gVeNSi0FJKYk8jZrLOcyTrDqcxTHE07ysHUg8xPP8JcT38I8aeBzosuaavoe2gR0RE3ouvxHNRtZ1MIeeZCUpMzSJ0zB8vsWeiSEsgLrsmxAaPY06Izh/SBnErL4XRaDhlnzXAWwAQ0IbxNDB06ZNJ730oazJ1L2qLF1H7xeQKHDat4N9rJTfDDMDAFwgPLIay19nyzQVrX1fKXydAWEVPjzjtInfUTlqysa/u/H8XhBg0axOTJk2ncuLFT7+uWiwSFEAbgINALLWlsBu6UUu4t7XibFwmmHIO982D3L5CwDzx8odUIZMw95Of5k7tvHzk7d5G9fRt5sQfAYtG6Ppo2xbt9e3y6dMa7ffur/4+BlBC3Rksax/7R+vOvnwTtx4JPiM2XKbAUEJscy+Zzm9l0dhObz2wm35JP7UILwzLOc1tIe0L6vgmhTcq8RmFaGikzZ5L6w48UpqXh3b49wQ+Mw6d7d4Tu8vkemXlmTqXmcDQxk8MJmRxOzOTQuUyOJGYSknaOR7f/Qqvko8Re154TDzzJ9S0iaBNZAw9DOXNH4rfCD0O1n//e38G/zmXvmZwxlKPT9mNo3J6ge8cSP/lhoubMxis62ub3TKk8d1gkOGPGDN59912EEERHR6PX6/H392fLli2cPXuWd955p7gVMmXKFObMmUNeXh7Dhg3j5ZdfJi4urrgE+7Zt22jRogUzZsxg48aNTJ06lfnz5wOwdOlSpk2bxrx584rv7evre8WWh70XCbpl8gAQQgwAPgT0wDdSytfLOrbCK8yl1D5Rb/0W9vwG5hwIb6f1WzcfCkYThZmZ5GzfQfa2reRs2UrOzp3I/HwwGvFu3Rqfrl3w6dwZU8uWCIO7NuAqSEo4tERLGvGbwLcWdHkY2t0Hnr5Vvvz5/POsOrmK348sZN2ZjRilZHBmNhOjBlL7pv+Bd1DxsebkZFK++47UmbOwZGfj26MHwePH4922TaXubS60cDgxkx1xyZh/nknM3z9x0jeUl68fS3pgTTo1CKJboxBubl6LesGXfDg4vR2+HwLeNeDePyCg9IHw3A1/cey+x6l9Wxt87n+TI337Efb6awQOH16pmJWKueiP45/Pwtnd9r1B7VbQ/60yX967dy/Dhg1j/fr1hISEkJKSwhNPPEFWVhazZ88mNjaWwYMHc/jwYZYsWcLcuXP54osvkFIyePBgnnnmGSIjI6lfvz5r164tLunevHlznnzySZo1a8aaNWsIDQ3lzjvv5I477mDQoEHF93d28nDbv3pSyj+APxxycSEgooP26PsG7JoNm76CeRPg7+eh7d3o24/Ft3s3fLt3A8CSm0v21q1kb9hA1voNJE79mMSPpqLz88O7U0d8OnfGp0sXPKKiHDqryCEshbB/Iax5T/uFC4iAAe9CmzFgtN9sJT8PPwY1HMSghoOIS49j5u7p/HpkAYsTV3DXt38xod1jGOrfSsq335P688/IvDz8+/cneMJ4TE3Kbp3YwqDX0bS2P01r+8P1L5K1oReGxx7n6w2fsuLu/7AgxcRrv+/ntd/30yzMn/4ta9O/ZW0ay+PWrqoAuGdRmYkDIOPfWBDgZ1mJPsgbYTSSf+xYleJWqo8VK1YwcuRIQkK01nlQkPZhaOjQoeh0Opo3b865c+cAWLJkCUuWLKFNG+3DUGZmJocOHSIyMrLUku5PPfUUY8aM4ccff+S+++5jw4YNzJgxwwU/5QVumzycxisQOk3QWh3H/tGSyLqPtMd1/aHjOKjfA53JhG/Xrvha/081p6aSvXEjWes3kLV+PZnLlgNgCAvDp4uWSHw6d8YQFFT2vV2tsAB2z4W170PSQQhuBEOmQfRtoDc69NZRAVG80O1V7ot5kE82vMa82NX4fDSVrrs+RkgdAYMGETxhAp4N6jvk/j6dO9PglzmcGPcAfb59jbFTp5Laoid/7z3LX3vO8sGygyxYtpJfTa9h9PCk8PZ5+AdGlnk9KSUZixbj0y4ag+Ev2DULQ+3aFJw955D4lXJcoYXgbJ6ensVfF09akZLnnnuOCRMmXHRsXFxcqSXdAe677z4GDRqEyWRi5MiRGFzc46GSRxEhoEEP7ZF2UuvS2vo9HPhd+6PaYRzE3Kl9AgUMNWrg378//v37I6Wk4ORJstavJ2v9Bs4vXVY848azWbPiZOLdrp1j1x3YqiAHtv8I66dC2gmo1RJGfKN12emcu7lMjWMpPPS3D3f9CRYpWNFK4N08k3ubnUUX7NgE5hEZSdSsmZwY9wAnJ02izltvMu6WWxjXvQHJcbvxmvUouQWCgRn/4dS0Q/RveZ57u0TRJrLGZdfK2baNglOnCH3kYUg5D5u/xlgrBvPZsw79GRT3cdNNNzFs2DCeeOIJgoODSUlJKfPYvn378t///pfRo0fj6+vLqVOnMBq1/96LSrp37ty5uKQ7QJ06dahTpw6vvfYay5Ytc8rPdCUqeZQmMAJ6/R/c+B/YOx82fwV/PQvLX9U+lXd8AGpd2GxGCIFHZCQekZHUGDUKWVhI7t69xa2SlBk/kDL9G4SHB17t2mqtki5dMDVrVuqgr8PkpMLmr2Hj55CdBHU7QP934Lp+Tl3vIgsKOL9yJSnfzyBn61Z0Pj4E3zUarztv4+zxr1hw7He2pKzn7U864NftCW3cxY7dZyUZQkKo98MM4h+cxOmnnqYwJZWgns0Inj0CjAa87/+Tj83h/LLlJL9tP8WCHadpV68G47rVp0+L2uitiy7T5y9AeHnh17s3HDPD3LEYfNuQc0Qlj2tFixYteOGFF7jxxhvR6/XFXVKl6dOnD/v376dz586ANl7x448/otfri0u6F413PPjgg8XnjR49msTExIvGLp555hlmzZpFdnY2devWZdy4cfzvf/9z2M9ZxG0HzCvCKSXZT+/QksjuuWDOhcguWpdWs8HldvFYsrPJ3rKlOJnkHTwIgD4wEO/O12vJpEMHjPXqOWa8JCEWtkyHHbMgPxMa94Guj0G9Lk5NGnlHjpD262+kL1hAYXIyxjp1qDFmDIEjhqP38wO05vwvB3/hzX/foBEefBZ3iBD/CG1squktDovXkpvLqSefInP5coJb5hLazQ9x93wIalB8TFaemV+2nOSbdXGcSMkmMsibyTc1Ykh9H4716oX/gAHUeeN1rWX37nUkHGtGyoazNNm1s/qNg1VD7jDbytEmT55MmzZtuP/++yt87jUz26oinLqfR3aK1uWzZbpWmsK3ljYbKeZOqFHPpkuYExPJ2riRrHXryVq/HnNCAgD64GC827bBq01bvNu2wdS8OcLDo3JxFuTAgT9g8zdwfC3oPaDFMO1TfO1WlbtmJeSfOMH5pUvJ+HsJubt2gcGAb48bCbz1VnxvuKHMmWprT63liVVPUNPoy9dJmdROOABR3aHn81rSs7fCAuTSlzn78QzSjvgQcEtfwt6agjBe/sGg0CJZuu8sn648wu5T6Uw6sYpB2xZTb/58vJtaB/YXTCZl7u+c22yi8Yb1GGpc3tWl2NfVnjzatWuHj48PS5cuvWgcxVYqeZTCJZtBWSxweJnWGjm0FJDaorFmg7VH6HU2XUZKSf7Ro2Rv2UrOtm1kb99OwYkTAAhPT0ytWuLVKhpT82aYmjfXZnOVtel9YQEcWQl7foXY3yH/PATW09ZntLmrQms0KsuSl0fOjp1kbdxA5spV5MXGAmBq0QL/AQMIGDIYQ4htcexI2MGDyx4kxCuE70NvImjDp5CVqCWR7k9q41P2+EQfvwUWPgIJe5Ht7iMprgFJn36GT7duhL87BX1gYKmnSSlZvnYvIQ/exZbQxvw8aDIv3NKMnk1qwrE1pL8ygtMbgmiweBGejRpVPU7liq725FFVKnmUwuU7CabGwb6FsH+Rtj4CtD/a9W+A+jdC/e7gV9vmy5kTE8netr04meTFxmprTNBWwJuaNMHUvDmejRrhEWLCQx7HkLIJcWy1ljBMAVoCazlcu78Dx1UKEhLI3bOX3L17ydm+jeyt25B5eaDT4RUTg9/NN+N3882VLhK49dxWJiydQIOABkzv+Ql+u+dqM+Eyz2oTGdrdC9GjwLcSJUfO7dXWtOydp/3/M2CKtlocSJs7lzMvv4IhJITw997Fu23by06XZjMnHniAnO07OPHOV7y5K5NjSVn0aBLKiwOaEvZ2J078AZEzvsenY8dK/fyK7VTyuDKVPErh8uRRUsZp7VP/0VXaKu3cdO15vzpayyQsGkKbal1cgVHawrhyPj3LggLy9u8kd8tacvfsIvfgEfJOJGHJv1DzSWcEj1r+eEQ1wNAoGmOdcAy1amOsXQtDzZroAwIQXl4V7nuX+fmYU1IwJydjPneO/OMnyD8eR/7x4+QfPoI5MVE7UAg8GzXSxnCuvx7vDh2KxzGqak38Gh5Z8Qid63Tm45s+Rl9YoP3B3/odnNwICIjoBE36Qd2O2vtc2qJGS6FWWeDYGq11dmqLVmWg43jo9jiY/C86PGf3Hk498QQF8fEE3DqMkAkT8IjUpuuaU1M58+J/yVy+vHghYL7Zwvfr45i6/BA5BYX87DkDn592Ev7uW/gPHGKX90Ipm0oeV6aSRyncKnmUZCmEs7sgbh2c2al9nXQQShRcxOit1UoyBWh/vIRee11aoCBbG2PJSdEG6YsJZGhTzL4tyJfh5OUHk5+YSf6xOPJPnMB87pz26f9SBgN6Pz90/n7ovH0QBoPWBWbQI3R6ZEEBlrxcZG4eMjeXwsxMLBkZl11GHxCAsV49POtHYWreHFPLlpiaNnVo2ZbZsbN57d/XGNtyLI+3e/zCCwn7tRlxB/7Q3l8ABPjW1FoTRm/t/4fsZEiPh0Lr+1KrFUSP1BZCepe9Fqfw/HmSPvuclB9+gIICPBo0QOfrS96BA8jCQmo98wxBd4+56JykzDzeW3KQpDW/8sSfszGP7EurVz+06/uhXE4ljytTyaMUbps8SpOfDSlHIe04pB6HjFOQmwa5GVorRVpA6LTWiNEbvIK0shg+NbWZP0ENIKg+GL3KvIWUksK0NMznzlFw9izmhAQs589TmHGewox0LBnnsWRlIS2FYC5EFhYiC80IoxGdpwlhMqHz9ETn64shJBh9UDCGkGAMoaF4REaWOQbgaK9ueJU5B+cw5cYp9Ivqd/kBmYlweps2My4jHjLOaMlC6LTkHBABtaMhspNWyLACCs6eJeP338neth2Zk4NHo4bUGDkSzysUo9t2+AxeA28isUUgs2/9lJcGN6emnxus87lKqeRxZSp5lKJaJQ+l0goKC7j373s5lnaMuYPnUse3TvknudiBmFb4RmbRJ/oj9AYPXhnSkiExddTUXQdwx+Th6JLs2dnZjBw5kiNHjqDX6xk0aBBvvVX66np7Jw+33IZWUUpj1Bt5q/tbWLDw7JpnMVvMrg6pXIagGpBrYdlQaFzLj8dm7+Dhn7aTlp3v6tCUq8RTTz1FbGws27dvZ926dfz5559Oua9KHkq1EuEXwX+v/y/bE7bz9e6vXR1OufQ162DONxJ2eilzJnTm6b5N+GvPWfp+uJo1hxJdHZ5iZzNmzCA6OprWrVszZow2FrZ69Wq6dOlCgwYNmDt3bvGxU6ZMoUOHDkRHR/PSSy8VP282mxk9ejTNmjVjxIgRZGdns2LFCoYOHVp8zNKlSxk2bBje3t707NkTAA8PD9q2bUt8fLxTflZVnkSpdm5pcAv/xP/DF7u+4OZ6N9MwsKGrQyqTPjiEgtN+cPAv9Ege6tmIG68L5bHZOxgzfRNju9bn2f5Ny99PRKmQtze9TWxKrF2v2TSoKf/p+J8yX9+7dy+vvfbaZSXZz5w5w9q1a4tLso8YMYIlS5Zw6NAhNm3aVFySffXq1URGRnLgwAGmT59eXJJ92rRpPPnkk0yaNInExERCQ0P59ttvGTt27EX3T0tLY9GiRTz6aCkb4zmA+i9WqZae7fgsvkZf/rf+fxdtF+xuDEE1MOfpIfMcnNK2GWwZHsDih7txT+d6fLPuGCO/2MDJlGwXR6pUVWVLsrdt25bY2FgOHToEcFlJ9rVr1yKEKC7JnpaWxoYNG+jfv3/xvc1mM3fccQePPPIIDRo0wBlUy0OploJMQTzT4RmeX/s8cw7MYVTTUa4OqVT6wBoUZuUihQERu1jbQwYwGfW8PKQl1zcI5pm5u7hl6hreHdmaPi1sX0yqlO1KLQRnc0ZJ9vHjx9O4cWMee+wxB/0Ul3O7locQ4n9CiFNCiB3WxwBXx6S4p4ENBtKlThc+3PYhSTlJrg6nVPrAADCbkeFdtLUol+jfKozFj3QjMtib8T9s5bXF+ygodN+WlFK2m266iV9++YXk5GSAckuyf/PNN8U7/506dYoEa427opLsQJkl2e+7777ia7344oukp6fz4YcfOuLHKpPbJQ+rD6SUMdaHY3YTVKo9IQTPdXyOvMI8Ptn+iavDKZU+QNv/pbDOjdoC0aRDlx1TL9iHXx/swt2d6/H12mOM/upfkjJLWeSpuLWSJdlbt27NE088Ueaxffr04c4776Rz5860atWKESNGcP78eYDikuzNmjUjNTX1spLsERERxVNu4+Pjef3119m3bx9t27YlJiaGr792zkQS1W2lVGtRAVHc2fROftj3A7c3uZ1mwe41z19XlDxC22MErXRNt8cuO87ToOeVIS1pV68G//l1F4M+XsuXY9rTqm6AU+NVquaee+7hnnvuKfP1knuMP/roo6UObsfGlj3Qv3btWh544IHi7+vWrYur1uq5a8tjshBilxDiGyFEqbWshRDjhRBbhBBbEhPVlMdr2YTWEwj0DOTtzW+77BepLMUtj0KTVnOrlK6rkobEhDN3Yhd0QjDi8/X8ts050y4V99euXTt27drFXXfd5epQABclDyHEMiHEnlIeQ4DPgIZADHAGeK+0a0gpv5RStpdStg8NrURFVeWq4e/hz+Q2k9l6bivLTrh+e86S9AGBABSmpUOTW+DkJshMuOI5LcMDWDi5K20iA3lizk5eXbwPsxoHueZt3bqV1atXV2ovD0dwSfKQUvaWUrYs5bFASnlOSlkopbQAXwGqlrVSruGNh9MwoCEfb/+YQkuhq8Mppg+0tjzS07WdEJFwoPwVwMG+nvxwfyfu6xrF9LXHuOfbTaRnFzg4WkWxndt1Wwkhwkp8OwywrciLck3T6/Q81OYhjqUfY/HRxa4Op1hxt1V6urbvfWCkNu5hA6Nex0uDWjBlRDSbjqUw7LN1xCVlOTJcRbGZ2yUP4B0hxG4hxC6gJ/B4eScoCkDvyN40D27OZzs/o6DQPT6l60wmhKcnhelpWqXkpgO1vV7yMss7tdjI9hH8eH8nUrLyGTZtHZuOlT0FVFGcxe2Sh5RyjJSylZQyWko5WEp5xtUxKdWDEIKH2zzMqcxT/HroV1eHU0wfEKC1PACaDNDKxB9ZUaFrdGoQzPxJXanh7cHorzeqgXTF5dwueShKVXSt05W2Ndvy5a4vySt0j7US+oAACtPStG8iO4NXDZu7rkqKCvHht0ldaF8viCfm7OS9JQewWNxrdplyuaioKJKStEWsvr7aDpenT5+2uUy7u1LJQ7mqCCF4MOZBEnMSWXB4gavDAUAfGIglzdry0Bvgun5w8C8orHhJ+UBvD74f25Hb20fw8YrDPPLzdnIL3GeCgGKbOnXqXFRhtzpSyUO56nSq3YnokGi+2fONW+z5oQ8s0W0FWtdVbhqcWF+p63kYdLw1vBXP9m/K4l1nGP31v6Rmqf1B3MGPP/5Ix44diYmJYcKECRQWlp7Y4+LiaNmyJQDfffcdQ4YMoUePHjRu3JiXX37ZmSFXmlphrlx1hBCMazWOR1Y+wp/H/mRQw0EujUcXcEnyaNQLDCaI/QPq31CpawohmHhjQyKDvHls9g6Gf76e7+/rSESQt52irt7OvvEGefvtW5Lds1lTaj//fJmv79+/n9mzZ7Nu3TqMRiOTJk1i5syZNl1706ZN7NmzB29vbzp06MAtt9xC+/aV2uDPaVTLQ7kq3RhxI41rNGb67ukuL9muvzR5ePhAgx7auEcVV8QPaBXGj/d3Ijkzn2HT1rPnVHr5JykOsXz5crZu3UqHDh2IiYlh+fLlHD161KZzb775ZoKDg/Hy8uLWW29l7dq1Do626lTLQ7kq6YSOcS3H8Z81/2HliZX0qtfLZbHoAwKReXlYcnPRmUzak00GaOMe5/ZA7VZVun7H+kH8+mBn7vlmM7d/sYFpd7Xjxuuu7aoLV2ohOIqUknvuuYc333zzoue/++67cs8tqwy7O1MtD+Wq1TeqLxF+EXyz9xuXxnHRQsEiTfoDQuu6soNGNf34bVIXIoN9uP+7zfyy5aRdrqvYrlevXsydO7e4tHpKSgrHjx+36dylS5eSkpJCTk4O8+fPL94Myp2p5KFctfQ6PXc1u4tdibvYmbjTdXEUJY+0EsnDtyZEdIRY+62Gr+VvYs6E6+ncMJin5+7i4+WH3K5Q5NWsefPmvPbaa/Tp04fo6GhuvvlmzpyxbZlax44dGT58ONHR0QwfPtztxztAdVspV7mhjYbyyY5P+GHfD7S+sbVLYrhQ3yrt4hea3gJL/w/STkJghF3u5WcyMv2eDjz72y7eW3qQ0+m5vDqkBQa9+pzoDLfffju33377Rc/FxcUVf11Ukj0qKoo9ey5UXqpbty7z5893Roh2o/6LUq5q3kZvRjQewbLjyziT6ZpiBaV2W4FWZRfKLdNeUR4GHe+NbM1DPRvy06YTTPhhK9n5rp+yrFxdVPJQrnp3NrsTgFmxs1xy/6LkYbk0eYQ0gpAmlVptXh4hBE/3bcprQ1uy8kACd371L8lqd0K3dO+99/LJJ+65E+aVqOShXPVq+9Tm5no38+vBX8kuyHb6/ctseQA0HQBxayEn1SH3vuv6enx+Vzv2n8lgxOcbOJni/J/fmdQYT+kc8b6o5KFcE8Y0H8P5gvPMOzzP6fcW3t5gNF48YF6kyS0gC+HQUofdv0+L2sx6oBOp2Vf3WhCTyURycrJKIJeQUpKcnIypaJq4nagBc+WaEB0aTXRINLMPzObOpnc6dR69EOLyhYJFwtuBby2t6yr6NofF0K5eEHMnXlgL8vmYdnRvfHWtBalbty7x8fGobakvZzKZqFu3rl2vqZKHcs24rcltvLjuRTaf3UzHMOduUHlZfasiOp225mP3XDDngcFxW4wWrQW555tN3PftZqaMjGZYG/v+QXElo9FI/fr1XR3GNcNVe5iPFELsFUJYhBDtL3ntOSHEYSHEASFEX1fEp1yd+kb1xd/Dn9kHZjv93vqAwAtl2S/VdCDkZ8Kx1Q6Po5a/iTkTO9MhKojHZ+/ki3+OqG4epVJcNeaxB7gVuOi3RQjRHBgFtAD6AdOEEHrnh6dcjUwGE0MbDWXFiRUkZju3a6PMbivQiiN6+MG++U6Jxd9k5LuxHRjUug5v/hnLK4v3qX1BlApzSfKQUu6XUh4o5aUhwM9Syjwp5THgMODc/gXlqnZbk9swSzO/HfrNqfe9aEOoSxk8tQWD+xdpXVdO4GnQ89HtMYzrVp9v18Xx8E9qXxClYtxttlU4ULIoT7z1ucsIIcYLIbYIIbaoATLFVvX869E5rDO/HPzFqXt96P39KczIKPuAViMgNx0OL3NaTDqd4MWBzXlhQDN+332Ge77ZRHqOe+z9rrg/hyUPIcQyIcSeUh5D7HF9KeWXUsr2Usr2oaFX16wRxbFub3I757LPsTre8WMMRfSBAcjsbGRBGX+cG/QAryBt4NzJHrihAR+NimHbiVRu/2IDZ9NznR6DUv04LHlIKXtLKVuW8rjS3qCngJJFfupan1MUu7kx4kZqetdkzsE5Trunzt8foOzWh94ILYbCgT8hL9NpcRUZEhPOd/d1JD41h1unrePQufNOj0GpXmxKHkKImkKIYUKIh4QQY4UQHYUQjkg8C4FRQghPIUR9oDGwyQH3Ua5hBp2BoY2GsuH0Bs5mnXXKPfX+V1hlXqTlCDDnaAnEBbo2CmH2hOspsEhGfL6BzXEpLolDqR6umACEED2FEH8DvwP9gTCgOfAisFsI8bIQwr+iN7UmonigM/C79R5IKfcCc4B9wF/AQ1JKNYqn2N3QhkOxSAuLjixyyv0uVNa9QvKI7Az+4bDH+V1XRVrUCeC3B7sQ7OvBXV//y197nJNcleqnvNbDAOABKWUHKeV4KeWLUsqnpJSDgdbAduDmit5USjlPSllXSukppawlpexb4rXXpZQNpZRNpJSu+QimXPUi/CPoULsD8w7Pc8o6B31Rt9WVkodOBy1vhcPLIdt1n/ojgryZO7ELzev4M2nmVn7YaNuGRsq15YrJQ0r5tJTyRBmvmaWU86WUvzomNEVxrGGNhnHy/Em2ntvq8HsVjXlYrjTjCrSuK0sB7F/o8JiuJMjHg1njruempjX57/w9TPk7Vi0mVC5S7riFEOJGIUS09evbhBCfCCEeF0I4ro6CojhB73q98TH6OKVYoj4wEIDC9HKSR1hrCG7kkllXl/Ly0PP5Xe24o2MEn648wjNzd1FQaHF1WIqbKG/M41PgNeBrIcSPwJ1oq8PbAq7dGFpRqsjL4EX/+v1ZenwpmfmOneGk9/MDyum2AhACom+HuDWQVmqj36kMeh1vDGvF472v45et8TwwYwtZeWpjKaX8lkdPKWV34Aa0AfPhUsrPgbuBaEcHpyiONqzRMHLMOfwd97dD7yMMBnS+vhRm2FAOvfUo7d+dPzs0JlsJIXi0d2PeurUVqw8mcsdXG0lSG0td88pLHrkAUspc4HjRzCepdX6qpahKtdcqpBUNAxo6p+vK3x9Led1WAIGRWr2rHTPBjcYZRnWM5Msx7Tl47jwjPlvP8eQsV4ekuFB5yaOmEOIJIcSTJb4u+l4t61aqPSEEQxsNZWfiTuLS4xx6L92ViiNeKmY0pMbB8fUOjamiejevxawHric9p4Dhn61nV3yaq0NSXKS85PEV4Af4lvi66PuvHRuaojjHgAYDEAh+P2b/vcRL0gcEXLm+VUnNBmmVdne4Zt/1K2kbWYO5D3bBZNQz6suN/HNQ1Za7FpU3VfflKz2cFaSiOFJN75p0DOvI4iOLHTodVSuOaGPLw8NHK1eyd55LypWUp2GoL7892IWoYB/u/24zv26Nd3VIipOVN9tq6pUezgpSURxtYIOBxGfGsytpl8PuoQ/wt73bCrSuq4IsrVS7G6rpb2L2hOvp1CCIJ3/ZybRVh9VakGtIed1WW60PE9r03EPWRwzg4dDIFMWJekf2xlPvye9HHdd1pQ8IwJKeYfsf2MjroUZ9beDcTfmZjHx7b0eGxNThnb8O8NLCvRSqjaWuCeV1W30vpfwebVpuDynlx1LKj4FeaAlEUa4Kvh6+3Fj3Rv469hcFFsdMJNT5ByDz85G5NpY8FwLajNbWfCQfcUhM9uBh0PHBbTGMv6EBMzYcZ/KsbWpjqWuArZVxawAlCyD6Wp9TlKvGwAYDSc1LZcPpDQ65vj7AWhzR1kFzgDZjQGeArd86JCZ70ekEzw9oxn8HNufPPWe5e/om0rPVbP6rma3J4y1guxDiOyHE98A24A3HhaUoztctvBsBngEO67rSB9hQHPFSfrWhyQDYPtNpW9RWxf3d6vPxHW3YcTKNkV+s53RajqtDUhzEpuQhpfwW6ATMA34DOlu7sxTlqmHUG+lTrw8rT64kuyDb7tcvqqxrqUjyAGh/H+SkwD7XFku01aDWdfhubAfOpOVy67T1HDirNpa6GpU32yqq6Gsp5Vkp5QLr46z1dSGEqOvgGBXFaQY2GEiOOYflJ5bb/dq6ynRbAdTvoQ2cu3nXVUldGoYwZ2JnLFIy8vP1/Hs02dUhKXZWXstjihDiVyHE3UKIFtYdBSOFEDcJIV4F1gHNKnpTIcRIIcReIYRFCNG+xPNRQogcIcQO6+Pzil5bUaoipmYMtbxrseT4Ertfu3jMw5YSJSXpdNDuXji+DhJi7R6XozQL8+e3SV2o6W9izDeb+GP3GVeHpNhRebOtRgL/BZoAnwJrgAXAOOAAcJOUcmkl7rsHuBVYXcprR6SUMdbHxEpcW1EqTSd03FzvZtafWm/3Srs2bQhVlpjRoDPC1u/sGpOj1a3hzdyJnYkOD+ChWdv44p8jai3IVaLcMQ8p5T4p5QtSyh7W3f3aSCnvlFL+aC2YWGFSyv1SygOVOVdRHK1vVF/yLfmsil9l1+vqfH1Bp7N9lXlJvqHQfDDsnAUF1WsQOtDbgx/HdWJAqzDe/DOW5+ftVvuCXAVsnW3lTPWFENuFEP8IIbqXdZAQYrwQYosQYktioqqto9hPdGg0Nb1r2r1Mu9Dp0Pv5VXzAvEi7+yA3HfZUv807TUY9H49qw+Sejfhp00nu+3Yz6TlqKm915rDkIYRYJoTYU8pjyBVOOwNESinbAE8As4QQ/qUdKKX8UkrZXkrZPjRUFfhV7EcndPSp18chXVe6wICKj3kUieoGNZvDv5+7Val2W+l0gqf6NuHdka3591gywz9bz8kU+89qU5zDYclDStlbStmylMeCK5yTJ6VMtn69FTgCXOeoGBWlLH2i+jik60rvX4HKupcSAjpNhLO7tcHzampEu7rMGNuJxPN5DP10HVuPp7o6JKUSbE4eQohwIUQXIcQNRQ97ByOECBVC6K1fNwAaA0ftfR9FKU/r0NbU9K7Jkjj7zrrS+1ewOOKlom8DryDY+Jn9gnKBzg2DmTepC34mA3d8tZFFO0+7OiSlgmxKHkKIt9Gm5b4IPG19PFXZmwohhgkh4oHOwO9CiKLO5RuAXUKIHcBcYKKUMqWy91GUyirqulp3ap1du6604ohVSB5GL23a7oE/tM2iqrEGob78NqkrMXUDefin7Xy8/JCaiVWN2NryGAo0kVIOkFIOsj4GV/amUsp5Usq6UkpPKWUtKWVf6/O/SilbWKfptpVSumctauWa4IiuK12Af+W7rYp0GAcI2PSVXWJypSAfD34Y15FhbcJ5b+lBnvxlJ3lmVVSxOrA1eRwFjI4MRFHcTevQ1tT0qsmy48vsds2iMY8qfcIOCNc2itr2g1tuFFVRngY979/Wmiduvo7ftp1izPRNpGbluzospRy2Jo9sYIcQ4gu1GZRyrdAJHT0je7L+9HpyzZVa0nQZfUAAFBZiycqq2oU6PQh56bDzJ7vE5WpCCB7p1ZiPRsWw40Qaw6at43CCqonlzmxNHguBV4H1XNggaqujglIUd9Ezoic55hz+PfOvXa5XXFk3rQrjHgARHSC8nTZwbrl6unmGxITz0/hOZOaZGfbpelbGJrg6JKUMtlbV/R74iQtJY5aqqqtcCzrU7oCP0YeVJ1fa5XpF9a0slVllfqnOkyHlCMQurvq13Ei7ekEsmNyNiCBvxn6/mS9Xq5Im7sjW2VY90Laf/RSYBhx0xFRdRXE3HnoPuoV3Y9XJVVhk1Utq6IrqW1V10Byg+RCt2u7aD6vlosErCQ/0Yu6DnenfsjZv/BHLU7/sUrsTuhlbu63eA/pIKW+UUt4A9AU+cFxYiuI+ekb0JDk3mV2Ju6p8reLKulXttgLQ6aHrI3B6m7ZV7VXG28PAJ3e05bHejfl1Wzx3fLWRhPP2GXtSqs7W5GEsWchQSnkQNftKuUZ0r9sdgzDYpevqwla0dkgeAK3vBJ+asPbq/Cyn0wke630d00a3JfbMeYZ8so49p+z03ilVYmvy2CKE+FoI0cP6+ArY4sjAFMVd+Hv40652O/skj6LdBO3RbQVgNMH1E+HICjiz0z7XdEMDWoUx98HOCGDE5+tZvEutSHc1W5PHg8A+4BHrY5/1OUW5JvSM6Mmx9GPEpcdV6TrCywuMxqqVKLlU+/vBww/WfWS/a7qhFnUCWDC5Gy3qBDB51nbeX3IAi+XqGuupTmydbZUnpXxfSnmr9fGBlDLP0cEpirvoGdEToMqtDyEE+oAqVNYtjVegts/53nmQcsx+13VDoX6ezHqgEyPb1WXqisNMmrmNrDyzq8O6JpW3h/kc67+7hRC7Ln04J0RFcb06vnVoGtSUVSdXVflaen87lCi51PWTQGeAdR/a97puyNOg550R0bx4SzOW7DvLsGnrOJZUxUWXSoWV1/J41PrvQGBQKQ9FuWZ0D+/OzsSdZORX7Q+/1vJIs09QRfzDoO3dsH0mpJ2w77XdkBCCcd0bMGNsJxLO5zH4k7VqQaGTlbeHedGO9ZOklMdLPoBJjg9PUdxHt/BuFMpCNp7eWKXr6P39sdiz26pIt8e1f9e8b/9ru6lujUNYNLkbETW0BYWfrDikxkGcxNYB85tLea6/PQNRFHcXHRqNn4cfa0+trdJ1dAFV3NOjLAF1ra2PHyHtpP2v76Yigrz59cEuDG5dh3eXHOTBmVvJVOMgDlfemMeDQojdQJNLxjuOAWrMQ7mmGHQGOod1Zt2pdVUql6EPCLT/mEeRotbH2mun9QHg5aHnw9tjePGWZizbn8DQT9dxJLH6Vxx2Z+W1PGahjW0s5OKxjnZSyrsqe1MhxBQhRKw1Ec0TQgSWeO05IcRhIcQBIUTfyt5DURyhW3g3EnISOJh6sNLX0Pv7Yzl/HlnogHIbgRHQdoxWrj093v7Xd2NF4yA/3N+RlKx8hn6yjqX7zrk6rKtWeWMe6VLKOCnlHUA8UABIwFcIEVmF+y4FWkopo4GDwHMAQojmwCigBdAPmFa0La2iuINu4d0AWHOq8uVAiivrOqz18YT271W66rw8XRqGsOjhbtQL8eaBGVv4cNlBNQ7iALYWRpwMnEP7o/+79VHpUp5SyiVSyqJOyY1AXevXQ4CfretKjgGHgY6VvY+i2FuodyhNg5pWadzjQmVdByWPwAhocxdsmwHppxxzDzcXHujF3IlduLVtOB8uO8T4H7aQkVvg6rCuKrYOmD+Gtg1tCyllK+sj2k4xjAX+tH4dDpQc6Yu3PncZIcR4IcQWIcSWxMREO4WiKOXrFt6NHQk7OJ9fuc2K7FpZtyzdn9Aq7a5+x3H3cHMmo573Rrbmf4Oas+pAIoM/Xsu+0w58z68xtiaPk0CFpocIIZYJIfaU8hhS4pgXADMwsyLXBpBSfimlbC+lbB8aGlrR0xWl0oqn7J6p3JRdfUAgYKfKumUJjIT2Y7Wxj+QjjruPmxNCcG/X+vw0/npyCgoZNm0dv2y5dmaiOVJF9jBfZR3MfqLocaUTpJS9pZQtS3ksABBC3Iu2+HC0vDB15RQQUeIyda3PKYrbiA6Nxtfoy/rT6yt1/oUxDwdXh73hKTCYYMVrjr1PNdAhKojFD3enbWQNnp67i2d/VfuDVJWtyeME2niHB+BX4lEpQoh+wDPAYClldomXFgKjhBCeQoj6QGNgU2XvoyiOYNQZaV+rPZvOVO4/zaLKug5Z61GSb03o/BDs/Q1O73DsvaqBUD9Pfri/I5N6NOTnzScZ/tl6TiRnl3+iUipbCyO+LKV8GZhS9LX1+8r6BC35LBVC7BBCfG69z15gDlrV3r+Ah6SU6uOB4nY6hXXixPkTnMk8U/7Bl9A5esC8pC6TwSsIlr/i+HtVAwa9jmf6NWX6Pe05mZLNwI/XsExN560UW2dbdRZC7ANird+3FkJMq+xNpZSNpJQRUsoY62Niiddel1I2lFI2kVL+eaXrKIqrdAzTJgFWZtxD5+GB8PKyb2XdspgCoPuTcGQ5HFvt+PtVE72a1eL3R7oTGezNuBlbePuvWMyFVd9m+Fpia7fVh2hbzyYDSCl3AmoPc+Wa1TiwMUGmIP49+2+lztf7O6hESWk6jAP/cFj28lW313lVRAR5M3diF+7oGMFnq44wZvomEs+rnSZsZWvyQEp56RQF1Z2kXLOEEHSq3Yl/z/xbqVIl+oAAxw+YFzGaoMdzcGoLxFZ6edZVyWTU8+at0bw7sjXbT6Zyy9Q1bDqW4uqwqgWbp+oKIboAUghhFEI8Bex3YFyK4vY6hXUiKSeJo+lHK3yuzs8Py3kn1l5qfQeENoWlL4E533n3rSZGtKvLvEld8fE0cMdXG/l05WG1Kr0ctiaPicBDaAv2TgExqJLsyjWuaNzj3zMV77rS+/piOV+5RYaVojdAn9cg5Qhs/tp5961GmoX5s3ByVwa0CmPK3we451vVjXUltiaPJlLK0VLKWlLKmtaiiM0cGZiiuLsIvwjCfcMrlTx0fn4UZjq56mvjm6FhL/jnbchWXTOl8TMZmToqhrdubcWmYykMmLqG9YeTXB2WW7I1eXxs43OKck3pFNaJzWc3U2ip2BCgztfHuS2PIn1eg7wMLYEopRJCMKpjJAsmd8XfZGD09H95f+lBClU31kXK28+jsxDiSSC05MpyIcT/AFXtVrnmta/VnvMF5zmcdrhC5+mtLY+q7AtSKbWaQ7t7ta6rpEPOvXc107S2P4se7sbwtnWZuvwQo7/eyLmMXFeH5TbKa3l4AL6AgYtXlmcAIxwbmqK4v7a12gKw9dzWCp2n8/WDggJkngv61Hs8DwYvWPJf59+7mvH2MPDuyNa8N7I1O0+m0/+jNaw6oPZKh/L38/jHupL8g5Iry6WU76MNmivKNa2OTx1qeddiW8K2Cp2n8/MFcE3XlW8o3PAkHPwTjq5y/v2roeHt6rLo4W7U9PPk3m8389afsRRc44sKbR3zGFXKc8/ZMxBFqY6EELSt1Zbt57ZXqAtK76eVhit05nTdkjo9CIH14M9noVDtc2GLRjV9mf9QV+7sFMnn/xzh9i82cDLl2q2NVd6YR38hxMdAuBBiaonHd2il1BXlmte2ZlsSchKIz7R921edr7XlkemClgdoCwf7vQmJ+2HTl66JoRoyGfW8MawVH9/RhkPnMhnw0RoW7Lg2C3+X1/I4DWwBcoGtJR4LgT6ODU1RqoeicY/tCdttPudCy8NFyQOgyQBodDOsfBPOn3VdHNXQoNZ1+OPR7lxX249Hf97BE3N2kJl3bX2eLm/MY6eU8nugkZTy+6IHkAi87pQIFcXNNQpshJ+HH9vO2T7uobMmD6euMr+UEND/bSjMg6X/57o4qqmIIG9mj7+eR3s1Zv72U9wydQ07Tqa5OiynsbUke4EQoo0QYooQIg54BWuFXUW51umEjjY121RoxpXe1d1WRYIbQpdHYNdsOF65za2uZQa9jsdvvo7ZEzpjLpSM+Gw9n648fE2sCSlvzOM6IcRLQohYtEWBJwAhpewppVSLBBXFqm3NtsRlxJGSa9vKbZ2rB8xL6v4kBETA709B4bXV9WIvHaKC+OPR7vS3lja586uNnE7LcXVYDlVeyyMWuAkYKKXsZk0YVa6ma23BxAohdgkh5gkhAq3PRwkhcqwbRBVvEqUo7q543OOcbeMeOh8fwEVTdS/l4Q1934CEvaruVRUEeGmlTd4b2Zo9p7Q1IX/srvhmYdVFecnjVuAMsFII8ZUQohcg7HDfpUBLKWU0cJCLp/0eKW2TKEVxZ82Dm2PQGdiVtMum44Vej87Hh0JXd1sVaTYIGt4EK1+H82pnvcoSQjC8XV1+f6Q7UcHeTJq5jf/M3UV2/tXXoitvwHy+lHIU0BRYCTwG1BRCfCaEqPRsKynlEill0bu5Eahb2Wspijvw1HvSpEYT9iTtsfkcp5dlvxIhoP8UMOfBX8+6OppqLyrEh7kPdmFSj4bM2XqSW6auZfuJVFeHZVe2DphnSSlnSSkHof2h3w78x04xjAVKbjdbXwixXQjxjxCie1knCSHGCyG2CCG2JCYm2ikURam8liEt2Zu81+YiiXo/X9cPmJcU0ghueBr2/gYH/3Z1NNWe0bpf+qxx15NXUMiIzzfw/tKDV83KdJt3EiwipUyVUn4ppex1peOEEMuEEHtKeQwpccwLaIsNZ1qfOgNESinbAE8As4QQ/mXE8aWUsr2Usn1oaGhFfwxFsbvo0GiyCrI4ln7MpuN1vn7uMWBeUtdHtU2jFj8BeW4WWzXVuWEwfz1+A0Ni6jB1+SGGf7aewwnV/72tcPKwlZSyt5SyZSmPBQBCiHuBgcBoaa3rIKXMk1IW7ZO+FTgCXOeoGBXFnlqGtARgd9Jum47X+Tl5QyhbGDxg0FTIOKWNfyh24W8y8v5tMXw2ui0nU7K5Zeoavl13rFrvVuiw5HElQoh+wDPAYClldonnQ4UQeuvXDYDGQMX3+FQUF4jyj8LP6Gdz8tD7+rnPgHlJkZ2gw/3w7+dwqmLVgpUr698qjL8fu4EuDYN5edE+7v5mE2fSq+eUXpckD+ATtNLuSy+ZknsDsEsIsQOYC0yUUqotz5RqQSd0tAhpYfOguc7HB0u2mxbW6/V/4FsLFj6qCifaWU1/E9/c24E3hrVi6/FU+n6wulrWx3JJ8pBSNpJSRlw6JVdK+auUsoX1ubZSykWuiE9RKqtVSCsOph4kx1z+p0mdtzeWLDdNHqYAGDAFzu2GDZ+4OpqrjhCCOztF8uej3WlU05dHf97B5FnbSMvOd3VoNnNVy0NRrkotQ1pSKAuJTSm/eo/OxweZnY20uOnsm2aDoOlAWPWW2nXQQaJCfJgzoTNP923CX3vO0vfD1dVmsymVPBTFjlqFtAKwqeuqeJV5thv3ed/yHhhMMH8SVHCfdsU2Br2Oh3o2Yv5DXfE3Gbn32808++suzue6d3ehSh6KYkeh3qEEm4I5kHKg3GN1Pt4AWLKyHB1W5fnV1rqv4jfBhk9dHc1VrWV4AIse7saEGxswZ8tJ+n6wmtUH3XcNm0oeimJnTYOaciDVluRhbXm4c/IAaDUSmtwCK16DxIOujuaqZjLqea5/M+Y+2AUvDz13f7OJ535zz1aISh6KYmdNgppwOO0wBeXMUqo2yUMIGPiBVkBxgeq+coa2kTX4/ZHuTLihAbM3n6Tfh2tYeyjJ1WFdRCUPRbGzZkHNMFvMHEk/csXjdN5FYx5uOuOqJL9aMOBdiN+sZl85icmo57kBzfhlYhc8DTrumv4vz8/b7TY7FqrkoSh21iSoCUC5M66qxZhHSS2Ha7OvVrwOieV3yyn20a5eDf54tDsPdK/PT5tO0PeD1aw77PpWiEoeimJnkX6ReBm8bEge1aTbqkhx95UPzJugFg86kcmo54VbmjN3Ymc8DTpGf/0vL7i4FaKSh6LYmV6n57oa19mePKpDt1UR35ow6CM4vV1b/6E4Vbt62o6F47rVZ5a1FeKqGVkqeSiKAzQNasqBlANYa36WSuddzbqtijQfDDF3wdr34fgGV0dzzTEZ9bw4sDm/TOiMp1HH3d9s4sk5O52+Ol0lD0VxgKZBTcksyCQ+M77MY6pt8gDo/xYERsK88ZCb7uporknto4L445HuPNSzIQt2nKL3+//w+64zV/zAYk8qeSiKA1xXQ9tJ4FBq2WU9hF6P8PKqXt1WRTz94NavID0e/rTXvnBKRZmMep7u25SFk7sRFuDFQ7O2Mf6HrZxNz3X4vVXyUBQHaBjYEICj6VfeUUArjlgNWx4AER21nQd3/gR7fnN1NNe05nX8mTepC88PaMqaQ4nc/P4/zPr3hEP3C1HJQ1EcwMfoQ22f2hxJK2eth49P9U0eoCWP8Paw+HFIr35lxa8mBr2O8Tc05O/HbqBleADPz9vNHV9t5FiSY/77UslDURykYUBD25JHdey2KqI3wq1fatN2501Qq8/dQL1gH2Y90Im3bm3FvjMZ9PtwNZ+tOoLZznunuyx5CCFeFULssm4GtUQIUcf6vBBCTBVCHLa+3tZVMSpKVTQIbMCx9GNYZNm/tNW626pIcEPo/zbErYE177s6GgVtv5BRHSNZ9sSN9GgSytt/xTLk03XsOWW/yQ2ubHlMkVJGSyljgMXA/1mf74+2/WxjYDzwmWvCU5SqaRjQkNzCXE5llt2do/PywpLn+MFNh2tzF7S6DVa9AXHrXB2NYlXL38QXY9rz2ei2nMvIY8in63j9931k51d9caHBDvFVipQyo8S3PkDRyM4QYIbU5pttFEIECiHCpJRnnB6kolRB8aB52lEi/CJKPUbnZcKcYPvmP7KwkLyDB5H5+Xg2blw83dfm86UkNS+V5Jxk0vLSADDqjASbgqnpUxNPvWeFrldMCBj4vrbn+a/3w8S14BNSuWspdte/VRhdGobw1l/7+WrNMf7YfZbXhrWs0jVdljwAhBCvA3cD6UBP69PhwMkSh8Vbnztzybnj0VomREZGOjxWRamoBoENADicdpgbI24s9RjhacKSa1vLI3vLFk4//wIFJ05o53p5UeP22wmZ/BB6X98yz0vITmDZ8WWsO72OvUl7Sc5NLvPYMJ8wmgc3p2VIS7rW6UrToKYIIWyKD08/GPkdfN0b5k2EO+eATg2rOpu0WLBkZ2PJyKDw/Pnif2VGBk9nnud233Os2xrH9pUzqnQfhyYPIcQyoHYpL70gpVwgpXwBeEEI8RwwGXjJ1mtLKb8EvgRo3769c1bFKEoF+Hv4U9Or5hWn6+q8TMic8ncSzNm1ixPjHsBQsyZhb72J3s+P80uWkvL992SuWUPEtE/xqFfvonP2JO3hmz3fsOz4MiSSKP8ouoZrCaGmd00CPQMRCPIt+STnJHM26yxH0o6wL2Ufy08s56NtHxHiFULPiJ4MbjiY1qGty08kYdHQ93X44ymt+m7XR2x6r5QrkxYL5sQkzGfPYE5KwpyUTGFKMuakZMwpyRQmp2BOTqYwOZnCjAy4wtbGnkAvLy9yjaYqxeTQ5CGl7G3joTOBP9CSxymgZBu/rvU5Ral2GgQ2uOKMK2HyKrflIfPzOfX00xiCg4maNRNDiNYd5NerFwG33sqpRx8l7s7R1PvxBzzr1yc5J5n3t77PwiML8fPw476W9zGk4ZDilpAtknKSWHdqHWtOrWHRkUX8cvAXovyjuK3Jbdza+FZ8jD5ln9xhnDZ4vvxliOwMER1svu+1ShYWUnDmLPnH4yg4eZKC02coOHMG8xnt34KEBCi4vBClzt8fQ1AQ+pBgPBs2RN+xA/rAQPR+/uj9/dAV/evvj97fH72fHzpfX4TB+qff1lZlKVzWbSWEaCylLFp+OwQoqiK3EJgshPgZ6ASkq/EOpbpqGNiQ3w79hpSy1E/tOlP53VapP/1EwfETRHz1ZXHiKOLTqSP1Zs3i+F13cWLs/aR98ixP7XmdjPwM7m95Pw9EP3DlP/RlCPEKYUijIQxpNISsgiyWxC1h3uF5vLP5HT7b+Rm3XXcbY5qPIdgr+PKThYBBU+H0Dpg7FiauBq8aFY7hamTJzibv0CFyDx4k/1gc+cePawnj+AlkyeRgMGCsVQtjWBhebdviHxaGMaw2htq1MYTWxBASjD4oCJ2Hh8t+FleOebwlhGgCWIDjwETr838AA4DDQDZwn2vCU5Sqi/SLJMecQ3JuMiFelw8gCy8TFBQgCwoQRuNlr0uLhZQffsS7Qwd8u3cv9R6eDeoT+fVXHBk1ihOPPUaNiQ35us/XNK7R2C4/g4/Rh2GNhzGs8TB2Je7i+73f8+3eb/kp9ifuaXEP97S45/IE5RUII7+F6X3htwlwx8/X3PhHwbkEcnfvIjf2AHkHDpB78AAFJ06CtfaU8PDAo14kHlFR+N54Ix5RUXjUq4dHvXoYQkIQer2Lf4Irc+Vsq+FlPC+Bh5wcjqI4RKS/NpnjRMaJUpOHzuQFgCUvD30pySN702YK4uMJffTRK95nLttY37eQhxdJPjncmbrD7ZM4LhUdGs17Pd7jWPoxPt7+MZ/t/IyfY3/mkbaPcGvjW9GJEgkivB30e1Mb/1jzLtz4jENicgeWvDxy9+whZ+cucnbuJGfXLsxnrB0mQuBRrx6mps0IGDwYU5MmeF53HcbwcLdPEFfi0tlWinK1i/SzJo/zJ2hb6/L1rjovbdBS5uRAKTOmMn5fjM7XF7+byx4+/OPoH7y9+W16D+iDv5cfGd/9SPbN/fBu67j1tfUD6vN+j/fZk7SHKZun8PKGl5l/eD7/vf6/xTspAtr4R/wWWPkGhLeFRrYOg7o3aTaTu3cvWRs2kvXvRnK2bUfm5QFgDA/Hu00bvO69B1N0NKamTdF5ebk4YvtTyUNRHCjMNwy90HMi40Spr4uilkcp4x5SSjLXrcOn8/XoTKXPjNmVuIsX171Iu1rtePuGtzF0LCBn3XrOPP8C9efPK/M8e2kZ0pLv+n3HwiMLeW/Le9y++HbubnE3k2Mm46H3uLD74Lk98Os4GP8P1KhX/oXdkDkpicx//uH8ipVkb9xYXBnAs0kTaoy6He+OHfFq3fqycamrlUoeiuJARp2ROr51OHG+9ORR3PIoJXkUnDiB+fQZvMeNK/XczPxMnln9DKFeoXzU8yPtj7WPB2Gvv8aJe+8j6YsvqFlOd5c9CCEY0mgIN9a9kfe3vs+3e75l3al1vNn9Ta00vYc33DYDvuwJc+6GsX9DFaeJOkv+8eNkLFlC5vIV5OzcCVJiqBOG/8CB+HS+Hu+OHTEEBbk6TJdQyUNRHCzSP/IKLQ/tj2hpLY+sDdoufT6dO5d67pub3uRM1hm+7/c9AZ4Bxc/7XH89/gMHkvLNt9QYMQJjeHhVfwSbBJoCeaXrK9wUeRMvrX+JUYtH8VjbxxjTfAwiuCHc+gX8NAr+fBoGf+yUmCrDnJxMxh9/kr5oEbm7dgFgatGCkMkP4derF55Nmti+cPIqdm1Nf1AUF4j0i+Tk+ZOl7vBWPGBeykLBnN270QcF4REVddlrm89uZuGRhdzf8n5iasZc9nrNJ58AIUh4770qx19RPSJ68Nvg3+ga3pUpW6bw+KrHyczPhCb9oftTsG0GbP3e6XFdiSwsJPOffzg58UEO3XAj515/HZmfT82nn6LRyhXU/3UuoQ89hKlpBVbcX+VU8lAUB4v0iySzIJPUvNTLXrtSt1Ve7AFMTS//lGu2mHlz05uE+YTxQPQDpd7TGBZG8P33k/HHn2Rv3WqHn6Jigr2CmdpzKk+3f5pVJ1dxx+93aIslez4PDXpqM7BObnJ6XJcyp6aS/PXXHOnbj5MTJpKzZw/BY++j/sIFNJg/j+D778cYFubqMN2SSh6K4mAlp+teqrjbKufi5CHNZvIOHcKzSdPLzllweAGHUg/xdIen8TKUPYsn+P6x6ENDSPxoalXCrzQhBHe3uJuv+nxFRn4Gd/x+B8tProIR34B/OMy+y2UbSBWcPs3Z117ncI+eJLz7HsawMMI/eJ/GK5ZT88knMV13nUviqk5U8lAUByuarns84/hlrxXNhpK5F3db5cfFIfPzMTVtctHzZouZr3d/TYvgFvSOvPK0V523NyEPPED2pk1k/eu6T/kdandgzsA5NA5szOOrHueHuN/hjp8gPwt+vhMKyq/tZS/5x49z+vkXONynL6k//4z/wFtosGgh9X6YgX///ggXrtiublTyUBQHC/cNRyA4nXn6steKp+pe0vLIjT0AgGfTi1sefx77k/jMeMZHj7ep7z3wttswhIaS9OmnlQ3fLmr51GJ63+n0iuzFO5vf4a24BRTe+iWc2QkLJhevunYUc3IyZ199jSO3DCTjjz+occcdNFryN3Vefx3Pxo5ZUHm1U8lDURzMqDcS4hXCmazLS7QVjXlYSml5IAQe9esXPyel5Js939C4RmN6RPSw6d46k4lgN2h9AJgMJt698V3ubn43M/fP5InTS8jr+RzsmQvrPnTIPS25uSR99hlHbu5D6s8/EzhyBI2WLqH2C89jrFPHIfe8VqjkoShOEOYTxumsy1seF7qtLm55FJw8iaF27YsK321P2M7htMPc1eyui8uAlCPwtpHoQ0JI/mZ6JaO3H71Oz9MdnubZjs+y4uQKHs47Qk6LobDsZTjwl13vlbV+PUeHDCHxo6n4dO1Cg0WLCHvpJQyhoXa9z7VKJQ9FcYIw3zDOZp29/AWjEfT6y7qt8uPj8bhkfcYvB3/B1+hLv6h+Fbq3zmSixh2jyPpnNXlHy95bxJlGNxvNq11f5d+z//KgjyQrrJW2Aj0htvyTy2FOTeXU089wYuz9CASR30yn7scf49mgfvknKzZTyUNRnCDMJ4wzmWcuW+shhEBnMl02YF5w8iTGiAvb2mTkZ7AkbgkDGwzE21ixrWcBatxxB8LDg5Tvq7Z7nD0NbTSUt7u/zc6k3TwQVovzHl7aIsKssnc6LE/m2nUcGzyEjL/+ImTSJOovXIBPly52jFopopKHojhBmE+YtmNfKVvACi+vi1oelrw8zAkJGOteaHmsPLGSfEs+QxoNqdT9DUFBBAwZQvr8+ZhTL19v4ir96vfjvR7vsT/9CA81akn2+dPWGVi2bc1bxJKfz9k33uDkuHHoAvyp/8scQh95GJ1nJfdkV8qlkoeiOEGYj7bQrLSuK52n50UD5ubERACMtS/s4Px33N+E+4bTIrhFpWMIuuduZF4eabPnVPoajnBT5E1aCyTjKI8170Je/EZY8JDNM7AKzp3j+JgxpM74gRqjR1N/7lxMTS9fH6PYl0uShxDiVSHELiHEDiHEEiFEHevzPYQQ6dbndwgh/s8V8SmKvYX5asmj1Om6Hh7I/Au7yJkTtORRNLCbnpfOhtMb6FOvT5VKY3g2aoR3p06kzZ2LvMIe167QJ6oPr3R5hQ3nj/B0824U7JmrlXEvR/a27RwbMYK8Q4cJ/+gjav/3RYdXElY0rmp5TJFSRkspY4DFQMkksUZKGWN9vOKa8BTFvopaHqVN1xWensj8/OLvi1oeRcljdfxqzNLMzfVurnIcgSNHUhAfX1x00Z0MaTSE5zs9z8rsE7zcpANy9TuwY1aZx6cvWsTxe+5BZ/Ii6uef8O/bx4nRKi5JHlLKjBLf+gCOXSGkKC7m7+GPt8G71G4rreVRdvJYe2otQaYgWoRUvsuqiN/NvdEHBJA2d26Vr+UIdzS9g4mtJ7Ig/xxf1o+GhY/AsdWXHZcyYwann34G75gY6v8yR5UTcQGXjXkIIV4XQpwERnNxy6OzEGKnEOJPIUTVf1sUxQ0IIbS1HqV2WxkvTh4JCaDXow8KwiItbDyzkc51OldobUdZdJ6eBAwdwvllyzGnpFT5eo4wqfUkBjUYxCeksahmpFYDK/EgoC2UTPjoI8698SZ+N/cm4uuv0AcGujbga5TDkocQYpkQYk8pjyEAUsoXpJQRwExgsvW0bUA9KWVr4GNg/hWuP14IsUUIsSXR+klNUdxZbd/anM0uZcC8lJaHISQEodMRmxJLSm4KXet0tVscgSNGQEEB6fMX2O2a9iSE4OUuL9Ohdgf+z1uyxWSCmSMgM4Gkjz8h+bPPCRgxnPAPP1SzqVzIYclDStlbStmylMel/8XOBIZbz8mQUmZav/4DMAohSt3TUUr5pZSyvZSyfahaMapUA6FeoSRlJ132vDBenDwKU1PRW3enW396PQCd65S+IVRleDZujCk6mvRFi+x2TXsz6o180OMD6vrV5cmaoZzNSSLp0QEkTZtGwIjhhL3yCkKvd3WY1zRXzbYqWYlsCBBrfb62sE4nEUJ0RIuv8iuGFMWNhHqFkpybTKGl8KLnhYcHsqBE8khPRx+g7Qy49dxWGgY0JMTLvvtiB9wygLz9+91mxXlpAjwD+KjnR+RKMzNTGpC4Lgv/Fv6E/fcFhE6tMnA1V/0/8Ja1C2sX0Aco2mh5BLBHCLETmAqMkqVtv6Yo1VCIVwiFsvCyTaGEhweW/MuTh0Va2Jm4s9SdAqvKr19/EIKMxb/b/dr21CCwAe953kW/xcmcah5AnRaxiMWPgJtNNa6OMvMzq3S+q2ZbDbd2YUVLKQdJKU9Zn/9EStlCStlaSnm9lHK9K+JTFEcoaj0k51zcmL50nUdhejr6wEDi0uM4n3+e1qGt7R6LsVZNvDt1IuP330vdHtdd5B48SOib35MZGcKz/TP5rdPtsHsOLHvJ1aFVa6vjVzNs4bAqXUO1/RTFSUK9tbG5xJyLJ3iUnKorpSxueexM3AlA65r2Tx4A/rcMIP/4cXL37nPI9auqMC2N+AcnofP2pvW3P9O2XhfeSt3OkTZ3wPqpsMG1e5RUR+l56Ty35jkeWv4QPgafKl1LJQ9FcZKilkdidinJIy8PAEtWNpjNxcnD38OfKP8oh8Tj36cPGI1k/O5+XVdSSk4//wIFCQnU/fQTTHXCeaP7G3gbvXmaBPKaDoS/n4fd7rlexR1tPruZ4QuH89exv5jYeiJzBlWtTI1KHoriJKFeWssjKefiGVcl13lY0tMA0AcGsCtpF61CW9llfUdp9AEB+HTpzPmlS92u6yrl++/JXLGCWk8/hVd0NKAl31e7vsqhtEO8V68p1OsG8ybCkRUujta9FRQW8MHWD7j/7/vxMnjx44AfeSjmITz0VdtyVyUPRXESk8GEn9Hvsm4rnbU8SVGXFYD08+VY2jGaBTVzaEx+N/WiID6evIOHHHqfisiNjSXhvffx7d2LGmPGXPTaDXVvYEzzMfx0cA7/3DAJQpvAz6PhpGt3SXRXpzJPMebPMXyz5xuGXzec2QNn26VSAajkoShOFeIdUkrLw/oJsKCAwgytcs85fSZmaea6Go4tu+HbswcAmSuWO/Q+tpIFBZx+7nn0AQGEvfpqqYUgH2v7GI1rNOaVre+TcdsM8KutLSI8u9sFEbuv9afXc/vi2zmRcYIPe3zIS51fqtReMGVRyUNRnCjUK/TyMQ+jljws+QVYsrMBOGFOAHB48jDWrImpdTTnl7tH10/SV1+Rt38/tV/6Pww1apR6jIfeg1e7vkpybjJTYr+DuxeAhx/8MAySDjs3YDckpeTr3V/z4LIHCfUK5eeBP9OrXi+730clD0VxomCv4DJbHrIgXxswB47mn8GoM1LPv57DY/Lr1ZvcPXsoOHfO4fe6kryjR0n67HP8B/TH/+YrVxBuEdyCsS3HMv/wfNZkHoe752v7f8wYAmknnROwGyooLOD5tc/z0baP6FuvLzMHzCTSP9Ih91LJQ1GcKMQr5LLdBIuTR35+ccvjUN5JGgU2wqAzODwmv143AZC5cqXD71UWKSXn3ngTnclErRdesOmcia0n0jCgIS9veJlM/zAYMw/yzmsJJDPBwRG7n4z8DCYum8jio4t5uM3DvH3D23btprqUSh6K4kQ1PGuQY84h13xhm9XSkseBnOM0DGzolJg8GjTAGB5O1rp1TrlfaTJXrSJr7VpCHpqEITjYpnOKuq8SshP4dMenEBYNo3+B82e0Lqwc99lu19HOZJ7h7j/uZlvCNt7s/ibjo8dXaeMwW6jkoShOFGgKBCAtL634OeFhBIqSRxagjXk4o8sKtCq2Pl26kLVhI9Jsdso9S5L5+Zx76y08GjQgaPToCp3bKrQVI68byU+xP3Eg5QBEdoJRsyDpIMwcCXlVK8FRHZzIOMHdf91NQnYCX/T+goENBjrlvip5KIoT1fDUBoEvTh6XtDw8PZA64bTkAeDTtSuWzExydjl/xlLq3LkUHD9BrWf/gzAaK3z+I20fwc/Djzf+fUNbr9KwJ4z4Fk5tg1m3Q36WA6J2D0fTj3LvX/eSa85let/pdAzr6LR7q+ShKE4U6BkIQGruhS4V3SXJo9Ckfe+ogc7S+FzfCXQ6p3ddWfLySP7iS7zatsWne/dKXSPAM4DH2z3OtoRtLD66WHuy2UC49Us4sR5+GgX52XaM2j0cTj3MfX/dh0Va+LbvtzQLduyaoEup5KEoTlTDVErLw3ih20pmZ1Pgqe1TEennvOShDwzE1Kql05NH2i9zMZ87R+jDk6vURz+00VCiQ6J5f+v7ZBdYE0WrETD0czi2Bn6+Ewpyr3yRauTk+ZOMXzoevdDzbb9vaVSjkdNjUMlDUZyoqOVRavIwm7FkZ5PrAUGmIPw8/Jwam2/XruTs2lW8UNHRLLm5JH/xBV7t2+F9/fVVupZO6Hi6w9Mk5STx/b7vL7zQ+nYYOg2OroLZo6+KBJKQncADSx4g35LPlzd/Sf2A+i6JQyUPRXGiAE9tk6e03LQLTxq06bjSbMaSlU2WodCprY4iPp07g8VC9patTrlf+oKFmBMTCZ1ctVZHkZiaMfSO7M13e767eC1NzJ0w+GM4vAzm3A3mvCrfy1XS89KZsHQCqbmpfN77c5e0OIqo5KEoTmTQGfD38L9oQyhhsLY8CrSWx3l9ARF+EU6PzRQdjTAayd66xeH3klKSMmMGns2b4d2pk92u+2jbR8krzOPznZ9f/ELbMTDwQzj0N/xyL5jzSzvdrRVYCnhi1RMczzjO1Jum0jKkpUvjcXnyEEI8KYSQRXuVC81UIcRhIcQuIURbV8eoKPZUw1TjopaHMBa1PAoozM4iQ19AbZ/aTo9L5+mJqWVLcpzQ8shau5b8I0cIvuceu65HiAqIYsR1I/j14K/Epcdd/GL7++CW9+DAHzD3PigsKPUa7khKyRv/vsGms5v4X5f/0SnMfgm3slyaPIQQEWjb0J4o8XR/oLH1MR74zAWhKYrDBHoGXtLysK4iN5sxZ2WSZ5QuSR4A3u3bkbN3L5acHIfeJ2XGDxhCQ/Hv39/u157YeiJGvZFpO6dd/mKHcdB/CsQu1hJINWmBzIqdxdyDc7m/5f0MbjjY1eEArm95fAA8A5TcTGAIMENqNgKBQogwl0SnKA5Qw7NGmQPmhfl55Buglnctl8Tm1a4dmM3k7NzlsHsUnDpF1tq1BN5224WKwnYU4hXCqKaj+Dvub46lH7v8gE7jod/bsH8RzBnj9oPom89u5p3N73BTxE080vYRV4dTTLhqExghxBDgJinlo0KIOKC9lDJJCLEYeEtKudZ63HLgP1LKLZecPx6tZQLQEtjjvOgrLQRIKvco11Nx2peK036qQ4xQfeJsIqWs1LQ+h1ZdE0IsA0prf78API/WZVUpUsovgS+t99kipWxf2Ws5i4rTvlSc9lUd4qwOMUL1irOy5zo0eUgpe5f2vBCiFVAf2GkdLKsLbBNCdAROASWnmtS1PqcoiqK4CZeMeUgpd0spa0opo6SUUUA80FZKeRZYCNxtnXV1PZAupTzjijgVRVGU0jl+s4CK+wMYABwGsoH7bDjnS4dGZD8qTvtScdpXdYizOsQI10CcLhswVxRFUaovV0/VVRRFUaohlTwURVGUCqtWyUMI0U8IccBauuTZUl73FELMtr7+rxAiygVh2hLnvUKIRCHEDutjnAti/EYIkSCEKHV9jLuUibEhzh5CiPQS7+X/OTtGaxwRQoiVQoh9Qoi9QohHSznGpe+pjTG6/P0UQpiEEJuEEDutcb5cyjEu/123MU6X/66XiEUvhNhuXUt36WsVfz+llNXiAeiBI0ADwAPYCTS/5JhJwOfWr0cBs900znuBT1z8ft4AtAX2lPH6AOBPQADXA/+6aZw9gMWufC+tcYShzRgE8AMOlvL/u0vfUxtjdPn7aX1/fK1fG4F/gesvOcYdftdtidPlv+slYnkCmFXa/7+VeT+rU8ujI3BYSnlUSpkP/IxWyqSkIUBRMf+5QC9hz6prtrElTpeTUq4GUq5wiFuUibEhTrcgpTwjpdxm/fo8sB8Iv+Qwl76nNsboctb3p2jzcaP1cenMHpf/rtsYp1sQQtQFbgG+LuOQCr+f1Sl5hAMnS3wfz+X/4RcfI6U0A+lAsFOiKyUGq9LiBBhu7bqYK7QCke7G1p/DHXS2dh38KYRo4epgrE3+NmifREtym/f0CjGCG7yf1i6WHUACsFRKWeZ76cLfdVviBPf4Xf8QrY6gpYzXK/x+VqfkcTVZBERJKaOBpVzI+ErFbQPqSSlbAx8D810ZjBDCF/gVeExK6Zwt+SqonBjd4v2UUhZKKWPQKkx0FEK4dvOKMtgQp8t/14UQA4EEKaVda+1Xp+RhS9mS4mOEEAYgAEh2SnSlxGB1WZxSymQpZdF2Zl8D7ZwUW0VUizIxUsqMoq4DKeUfgFFY94ZxNiGEEe2P8kwp5W+lHOLy97S8GN3p/bTGkAasBPpd8pI7/K4XKytON/ld7woMFloB2p+Bm4QQP15yTIXfz+qUPDYDjYUQ9YUQHmiDOgsvOWYhcI/16xHACmkdAXKicuO8pJ97MFrfs7upFmVihBC1i/pmhVYbTYcL/ohYY5gO7JdSvl/GYS59T22J0R3eTyFEqBAi0Pq1F3AzEHvJYS7/XbclTnf4XZdSPielrCu1UlCj0N6ruy45rMLvpzuWJymVlNIshJgM/I02o+kbKeVeIcQrwBYp5UK0X4wfhBCH0QZZR7lpnI8IIQYDZmuc9zo7TiHET2gza0KEEPHAS2gDfkgpP6dyZWJcEecI4EEhhBnIAUa54AMDaJ/uxgC7rX3goFWOjiwRq6vfU1tidIf3Mwz4XgihR0tec6SUi93td93GOF3+u16Wqr6fqjyJoiiKUmHVqdtKURRFcRMqeSiKoigVppKHoiiKUmEqeSiKoigVppKHoiiKUmEqeSjVmhCisETF0h2uqK7qKEKINkKI6SW+7ye0Kq6x1p91thAi0vrad0KIEZecn3npNUu85iGEWG1dEKYoFab+w1GquxxreYjLWBe7CSllWfV83N3zwGsA1rIXHwODpZT7rc8NBqKAExW9sJQyXwixHLgdmGmvgJVrh2p5KFcVIUSU0PZSmQHsASKEEE8LITZbi9O9XOLYF4QQB4UQa4UQPwkhnrI+v0oI0d76dYi1rENREbwpJa41wfp8D+s5c62tgpklVml3EEKsF1qhwU1CCD/rJ/6YEnGsFUK0vuTn8AOipZQ7rU/9B3ijKHEASCkXWqsOl/eevFKiZXZKCPGt9aX5wOiKvL+KUkQlD6W68yrxh3Ge9bnGwDQpZQugifX7jkAM0E4IcYMQoh3aKtoYtFXfHWy41/1oJUU6WI9/QAhR3/paG+AxoDnaXi5dhVaeZjbwqLXQYG+0VdvTsa40FkJcB5hKJIki7dGSX5EWaEULr2RKyS68oiellP9nbZ31QFs9/In1pT02/tyKchnVbaVUdxd1W1nHPI5b98sA6GN9bLd+74uWTPyAeVLKbOt5l9ZJK00fILrE2EKA9Vr5wCYpZbz1WjvQupPSgTNSys2gFR20vv4L8F8hxNPAWOC7Uu4VBiSWFoQQIhhYDngDX0op37W+9LSUcm6J4zJLfC2AH4H3i6qrSikLhRD5Qgg/6/4eimIzlTyUq1FWia8F8KaU8ouSBwghHrvC+WYutMpNl1zrYSnl35dcqweQV+KpQq7wuyWlzBZCLEXbgOc2Sq+0mnPJvfei7ai4U0qZDMRYu9l8r/BzlPQ/IF5K+e0lz3sCuTZeQ1GKqW4r5Wr3NzBWaHtYIIQIF0LUBFYDQ4UQXtbxhUElzonjwh/0EZdc60GhlTVHCHGdEMLnCvc+AIQJITpYj/crMbvpa2AqsFlKmVrKufuBRiW+fwd4QQjRrMRz3le4dzEhxCC0LrNHLnk+GEiSUhbYch1FKUm1PJSrmpRyifUP7gbrGHYmcJeUcpsQYjbaHvMJaKX0i7wLzBFCjAd+L/H812jdUdus3UCJwNAr3DtfCHE78LHQSnbnoP0Rz5RSbhVCZACXtgSKzo0VQgQUdSlJKXcLIR4FZggh/IEktFlWL9nwNjyBtlPcJut7sFBK+X9Az0t+PkWxmaqqqyiAEOJ/aH/U3y3vWDvdrw6wCmha1lRiIcTjwHkpZVn7Tlc1ht+AZ6WUBx1xfeXqprqtFMXJhBB3o+0d/kI5a1A+4+KxFHvG4AHMV4lDqSzV8lAURVEqTLU8FEVRlApTyUNRFEWpMJU8FEVRlApTyUNRFEWpMJU8FEVRlAr7fwdBACtCdaaBAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plt.plot(wb/(2e9*pi),)\n",
    "plt.plot(wb/(2e9*pi), 20 * np.log10(abs(hb)))\n",
    "plt.plot(w1/(2e9*pi), 20 * np.log10(abs(h1)))\n",
    "plt.plot(w2/(2e9*pi), 20 * np.log10(abs(h2)))\n",
    "plt.plot(we/(2e9*pi), 20 * np.log10(abs(he)))\n",
    "plt.axis([0,4,-40,5])\n",
    "plt.xlabel('Frequency (GHz)')\n",
    "plt.ylabel('Attention (dB)')\n",
    "plt.legend(['butter','cheby1','cheby2','ellip'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Butterworth 和 Chebyshev II 类滤波器具有平坦的通带和宽过渡带。Chebyshev I 类和椭圆滤波器转降更快，但有通带波纹。Chebyshev II 类设计函数的频率输入设置阻带的起点，而不是通带的终点。"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "50b3613bd6a25bc2d447b407d1c56fd5d68cd9ed5791261fdbb62427f5a42027"
  },
  "kernelspec": {
   "display_name": "Python 3.10.3 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.3"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
